Generally, the processes of image inpainting, image restoration and texture synthesis are used for changing an image so the change is typically not noticeable by an observer. In most processes, the selection of a region which is to be changed must first be selected. Next, color/intensity information from a suitably chosen neighborhood in the image outside the selected region may be propagated into the selected region to alter the selected region.
In the past, these processes were performed by skilled artists for the restoration of damaged paintings. More recently, the processes are being implemented in algorithms which may be used to edit, repair or correct scanned or digital images. For example, an individual may desire to remove red eyes from a digital photograph or may wish to hide blemishes, scratches or stains which may appear in a scanned image. Further, an individual may wish to remove an undesirable portion of an image.
However, many of the previous image inpainting, image restoration and texture synthesis algorithms are limited as far as the type of region which may be selected or by the size of the region which may be selected. For example, one previous algorithm operates by clearing all the color information in the selected region and then repeatedly uses color/intensity information from pixels adjacent to the selected region to diffuse known image information into the pixels in the selected region. However, this algorithm results in a blurry finished product unless a user manually selects a small image area (no thicker than 10-15 pixels).
While some previous algorithms are capable of processing larger image areas, they are typically quite slow and thus are incapable of processing the selected region at real-time, or even near real-time, speed. For example, one previous algorithm creates two separate functions to represent the selected image, processes the two functions separately and then sums the functions to arrive at the final image. The processing in this technique requires the steps of image decomposition, partial differential equation (“PDE”) based image inpainting and multi-level texture synthesis. As a result, the algorithm requires approximately 5-10 minutes to process a selected region which covers only 4-6% of the pixels in the original image.
Thus, there is a need for an algorithm which is capable of quickly restoring various sizes of selected areas of an image.